import { FormatCodeWithPrettier, FormatGraphqlWithPrettier, FormatHtmlWithPrettier, FormatMarkdownWithPrettier, FormatRustWithPrettier, FormatTypescriptWithPrettier, FormatXmlWithPrettier, FormatYamlWithPrettier } from '../../../../code/type/index.js';
export declare enum FormatPrettier {
    Graphql = "graphql",
    Rust = "rust",
    Typescript = "typescript",
    Markdown = "markdown",
    Html = "html",
    Yaml = "yaml",
    Xml = "xml"
}
export type FormatPrettierInputMap = {
    [FormatPrettier.Rust]: FormatRustWithPrettier;
    [FormatPrettier.Graphql]: FormatGraphqlWithPrettier;
    [FormatPrettier.Typescript]: FormatTypescriptWithPrettier;
    [FormatPrettier.Markdown]: FormatMarkdownWithPrettier;
    [FormatPrettier.Html]: FormatHtmlWithPrettier;
    [FormatPrettier.Yaml]: FormatYamlWithPrettier;
    [FormatPrettier.Xml]: FormatXmlWithPrettier;
};
export type FormatPrettierInput<T extends FormatPrettier> = T extends keyof FormatPrettierInputMap ? FormatPrettierInputMap[T] & {
    format: T;
} : never;
export declare function formatCodeWithPrettier(source: FormatCodeWithPrettier): Promise<string>;
export declare function formatCodeWithPrettierPlugin<T extends FormatPrettier>(input: FormatPrettierInput<T>): Promise<string | undefined>;
export declare function formatGraphqlWithPrettier(source: FormatGraphqlWithPrettier): Promise<string>;
export declare function formatHtmlWithPrettier(source: FormatHtmlWithPrettier): Promise<string>;
export declare function formatMarkdownWithPrettier(source: FormatMarkdownWithPrettier): Promise<string>;
export declare function formatTypescriptWithPrettier(source: FormatTypescriptWithPrettier): Promise<string>;
export declare function formatYamlWithPrettier(source: FormatYamlWithPrettier): Promise<string>;
