import { EmitContext, NewLine, Program } from "@typespec/compiler";
import { FileType, OpenAPI3EmitterOptions, OpenAPIVersion } from "./lib.js";
import { OpenAPI3ServiceRecord } from "./types.js";
export declare function $onEmit(context: EmitContext<OpenAPI3EmitterOptions>): Promise<void>;
type IrrelevantOpenAPI3EmitterOptionsForObject = "file-type" | "output-file" | "new-line";
/**
 * Get the OpenAPI 3 document records from the given program. The documents are
 * returned as a JS object.
 *
 * @param program The program to emit to OpenAPI 3
 * @param options OpenAPI 3 emit options
 * @returns An array of OpenAPI 3 document records.
 */
export declare function getOpenAPI3(program: Program, options?: Omit<OpenAPI3EmitterOptions, IrrelevantOpenAPI3EmitterOptionsForObject>): Promise<OpenAPI3ServiceRecord[]>;
export declare function resolveOptions(context: EmitContext<OpenAPI3EmitterOptions>): ResolvedOpenAPI3EmitterOptions;
export interface ResolvedOpenAPI3EmitterOptions {
    fileType: FileType;
    outputFile: string;
    openapiVersions: OpenAPIVersion[];
    newLine: NewLine;
    omitUnreachableTypes: boolean;
    includeXTypeSpecName: "inline-only" | "never";
    safeintStrategy: "double-int" | "int64";
    sealObjectSchemas: boolean;
    parameterExamplesStrategy?: "data" | "serialized";
}
export {};
//# sourceMappingURL=openapi.d.ts.map