import type { NonOverwriteableMap } from '@baseplate-dev/sync';
import type { Plugin } from 'prettier';
export interface PrettierPluginConfig {
    name: string;
    default: Plugin;
    version: string;
}
interface PrettierConfig {
    tabWidth: number;
    singleQuote: boolean;
    trailingComma: string;
    semi: boolean;
}
export interface PrettierProvider {
    getConfig(): NonOverwriteableMap<PrettierConfig>;
    addPlugin: (plugin: PrettierPluginConfig) => void;
    addExtraOptions: (options: Record<string, unknown>) => void;
    addPrettierIgnore(path: string): void;
}
export declare const prettierProvider: import("@baseplate-dev/sync").ProviderType<PrettierProvider>;
export declare const prettierGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{
    tabWidth?: number | undefined;
    singleQuote?: boolean | undefined;
    trailingComma?: string | undefined;
    semi?: boolean | undefined;
    disableDefaultScripts?: boolean | undefined;
    additionalIgnorePaths?: string[] | undefined;
}, {
    main: import("@baseplate-dev/sync").GeneratorTask<{
        prettier: import("@baseplate-dev/sync").ProviderExport<PrettierProvider>;
    }, {
        node: import("@baseplate-dev/sync").ProviderType<import("../node/node.generator.js").NodeProvider>;
    }, any>;
}>;
export {};
//# sourceMappingURL=prettier.generator.d.ts.map