Here are some TypeScript interfaces for the OpenAPI v3 schema specification:
```typescript
interface OpenAPIObject {
  openapi: string;
  info: InfoObject;
  servers?: ServerObject[];
  paths: PathsObject;
  components?: ComponentsObject;
  security?: SecurityRequirementObject[];
  tags?: TagObject[];
  externalDocs?: ExternalDocumentationObject;
}

interface InfoObject {
  title: string;
  version: string;
  description?: string;
  termsOfService?: string;
  contact?: ContactObject;
  license?: LicenseObject;
}

interface ContactObject {
  name?: string;
  email?: string;
  url?: string;
}

interface LicenseObject {
  name: string;
  url?: string;
}

interface ServerObject {
  url: string;
  description?: string;
  variables?: { [variable: string]: ServerVariableObject };
}

interface ServerVariableObject {
  default: string;
  enum?: string[];
  description?: string;
}

interface PathsObject {
  [path: string]: PathItemObject | undefined;
}

interface PathItemObject {
  $ref?: string;
  summary?: string;
  description?: string;
  get?: OperationObject;
  put?: OperationObject;
  post?: OperationObject;
  delete?: OperationObject;
  options?: OperationObject;
  head?: OperationObject;
  patch?: OperationObject;
  trace?: OperationObject;
  servers?: ServerObject[];
  parameters?: (ParameterObject | ReferenceObject)[];
}

interface OperationObject {
  tags?: string[];
  summary?: string;
  description?: string;
  externalDocs?: ExternalDocumentationObject;
  operationId?: string;
  parameters?: (ParameterObject | ReferenceObject)[];
  requestBody?: RequestBodyObject | ReferenceObject;
  responses: ResponsesObject;
  callbacks?: { [callback: string]: CallbackObject | ReferenceObject };
  deprecated?: boolean;
  security?: SecurityRequirementObject[];
  servers?: ServerObject[];
}

interface ExternalDocumentationObject {
  url: string;
  description?: string;
}

interface ParameterObject {
  name: string;
  in: string;
  description?: string;
  required?: boolean;
  deprecated?: boolean;
  allowEmptyValue?: boolean;
  style?: string;
  explode?: boolean;
  allowReserved?: boolean;
  schema?: SchemaObject | ReferenceObject;
  example?: any;
  examples?: { [media: string]: ExampleObject | ReferenceObject };
  content?: { [media: string]: MediaTypeObject };
}

interface RequestBodyObject {
  description?: string;
  content: { [media: string]: MediaTypeObject };
  required?: boolean;
}

interface ResponsesObject {
  default?: ResponseObject | ReferenceObject;
  [httpStatusCode: string]: ResponseObject | ReferenceObject | undefined;
}

interface ResponseObject {
  description: string;
  headers?: { [header: string]: HeaderObject | ReferenceObject };
  content?: { [media: string]: MediaTypeObject };
  links?: { [link: string]: LinkObject | ReferenceObject };
}

interface CallbackObject {
  [expression: string]: PathItemObject;
}

interface ExampleObject {
  summary?: string;
  description?: string;
  value?: any;
  externalValue?: string;
}

interface LinkObject {
  operationRef?: string;
  operationId?: string;
  parameters?: { [parameter: string]: any };
  requestBody?: any;
  description?: string;
  server?: ServerObject;
}

interface HeaderObject extends ParameterObject {}

interface TagObject {
  name: string;
  description?: string;
  externalDocs?: ExternalDocumentationObject;
}

interface ReferenceObject {
  $ref: string;
}

interface SchemaObject {
  $ref?: string;
  title?: string;
  multipleOf?: number;
  maximum?: number;
```
다음은 OpenAPI v3 스키마 사양에 대한 몇 가지 타입스크립트 인터페이스입니다:
'''타입스크립트
인터페이스 OpenAPIObject {
  openapi: 문자열;
  info: InfoObject;
  서버? 서버 오브젝트[];
  경로: PathsObject;
  components? ComponentsObject;
  security? SecurityRequirementObject[];
  tags?: TagObject[];
  externalDocs?: 외부 문서 객체;
}

인터페이스 InfoObject {
  title: 문자열;
  버전: 문자열
  설명?: 문자열
  서비스 약관?: 문자열;
  contact?: 연락처 객체;
  license?: 라이센스 오브젝트;
}

인터페이스 ContactObject {
  name?: 문자열;
  이메일?: 문자열
  url?: 문자열
}

인터페이스 LicenseObject {
  이름: 문자열;
  url?: 문자열;
}

인터페이스 서버 오브젝트 {
  url: 문자열
  설명?: 문자열
  variables?: { [변수: 문자열]: ServerVariableObject };
}

인터페이스 ServerVariableObject {
  기본값: 문자열
  열거형?: 문자열[];
  설명?: 문자열;
}

인터페이스 PathsObject {
  [경로: 문자열]: PathItemObject | 정의되지 않음;
}

인터페이스 PathItemObject {
  ref?: 문자열;
  summary?: 문자열
  설명?: 문자열
  get?: OperationObject;
  put?: 오퍼레이션 오브젝트;
  post?: 오퍼레이션 객체;
  delete? OperationObject;
  options? OperationObject;
  head?: 오퍼레이션 객체;
  patch?: 오퍼레이션 객체;
  trace?: OperationObject;
  servers?: ServerObject[];
  parameters?: (ParameterObject | ReferenceObject)[];
}

인터페이스 OperationObject {
  tags?: string[];
  summary?: 문자열;
  설명?: 문자열
  externalDocs? 외부 문서 객체;
  operationId?: 문자열;
  매개변수?: (매개변수 오브젝트 | 참조 오브젝트)[];
  requestBody?: 요청 본문 객체 | 참조 객체;
  응답: ResponsesObject;
  callbacks?: { [callback: 문자열]: 콜백 오브젝트 | 참조 오브젝트 };
  deprecated?: boolean;
  security? SecurityRequirementObject[];
  servers?: 서버 오브젝트[];
}

인터페이스 ExternalDocumentationObject {
  url: 문자열;
  설명?: 문자열
}

인터페이스 ParameterObject {
  이름: 문자열
  in: 문자열;
  설명?: 문자열
  required?: boolean;
  deprecated?: boolean;
  allowEmptyValue?: boolean;
  스타일?: 문자열;
  explode?: boolean;
  allowReserved?: boolean;
  schema?: 스키마 객체 | 참조 객체;
  example?: any;
  examples?: { [미디어: 문자열]: 예제 오브젝트 | 참조 오브젝트 };
  content?: { [미디어: 문자열]: 미디어 유형 객체 };
}

인터페이스 RequestBodyObject {
  설명?: 문자열
  content: { [미디어: 문자열]: MediaTypeObject };
  required?: boolean;
}

인터페이스 응답 객체 {
  default? 응답 객체 | 참조 객체;
  [httpStatusCode: 문자열]: 응답 객체 | 참조 객체 | 정의되지 않음;
}

인터페이스 응답 객체 {
  설명: 문자열
  headers? { [header: 문자열]: HeaderObject | ReferenceObject };
  content?: { [media: string]: 미디어 타입 객체 };
  links?: { [link: 문자열]: LinkObject | ReferenceObject };
}

인터페이스 CallbackObject {
  [표현식: 문자열]: PathItemObject;
}

인터페이스 ExampleObject {
  summary?: 문자열;
  설명?: 문자열
  value?: any;
  외부값?: 문자열;
}

인터페이스 LinkObject {
  operationRef?: 문자열;
  operationId?: 문자열
  parameters?: { [파라미터: 문자열]: any };
  requestBody?: any;
  설명?: 문자열;
  server?: 서버 오브젝트;
}

인터페이스 HeaderObject extends ParameterObject {}

인터페이스 TagObject {
  name: 문자열;
  설명?: 문자열;
  externalDocs? 외부 문서 객체입니다;
}

참조 객체 인터페이스 {
  참조: 문자열;
}

인터페이스 SchemaObject {
  ref?: 문자열
  title?: 문자열
  multipleOf?: 숫자
  maximum?: 숫자;
```