import * as rollup from 'rollup';
import { Options } from 'tsup';
import { Config } from 'jest';
import { Check } from 'size-limit';
import { Options as Options$1 } from 'prettier';

interface RollupConfigOptions {
    name: string;
    bundle: string;
}
declare function withUndercroftRollupConfig(config: RollupConfigOptions): {
    input: string;
    output: {
        file: string;
        format: string;
        name: string;
        sourcemap: boolean;
    };
    plugins: (rollup.Plugin<any> | rollup.Plugin<any>[])[];
};

declare function withUndercroftTsupConfig(userOptions: Options): Options;

interface UndercroftJestOptions {
    roots?: string[];
    coverageThreshold?: Config["coverageThreshold"];
    tsconfig?: string;
}
declare function withUndercroftJestConfig(options?: UndercroftJestOptions): Config;

type SizeLimitConfigOptions = Check[];
declare function withUndercroftSizeLimitConfig(overrides?: SizeLimitConfigOptions): Check[];

interface PrettierConfigOptions extends Partial<Options$1> {
}
declare function withUndercroftPrettierConfig(config?: PrettierConfigOptions): Options$1;

declare const _default: {
    withUndercroftRollupConfig: typeof withUndercroftRollupConfig;
    withUndercroftTsupConfig: typeof withUndercroftTsupConfig;
    withUndercroftJestConfig: typeof withUndercroftJestConfig;
    withUndercroftSizeLimitConfig: typeof withUndercroftSizeLimitConfig;
    withUndercroftPrettierConfig: typeof withUndercroftPrettierConfig;
};

export { _default as default, withUndercroftJestConfig, withUndercroftPrettierConfig, withUndercroftRollupConfig, withUndercroftSizeLimitConfig, withUndercroftTsupConfig };
