import type { RuleLevelConfig } from './RuleLevelConfig.ts';
/**
 * Canonical names for individually toggleable publint checks.
 */
export type PublintCheckName = 'compileTargets' | 'defaultExportOrder' | 'files' | 'importToDefault' | 'main' | 'module' | 'neutralToDefault' | 'peerDeps' | 'platform' | 'publint' | 'resolutions' | 'rootSource' | 'rootTypes' | 'sideEffects' | 'source' | 'types';
export declare const ALL_PUBLINT_CHECKS: PublintCheckName[];
export type PublintRuleId = `pub.${PublintCheckName}`;
export declare const ALL_PUBLINT_RULE_IDS: PublintRuleId[];
/** Checks that are resolved by the workspace-level publint runner, not by packagePublintDetailed. */
export declare const WORKSPACE_PUBLINT_CHECKS: PublintCheckName[];
/** Checks that only apply to published (non-private) packages */
export declare const PUBLISH_ONLY_CHECKS: PublintCheckName[];
/**
 * Configuration for publint (package publishing linting).
 */
export interface PublintConfig {
    /**
     * Check names to exclude from publint runs.
     * All checks run by default; listed names are skipped.
     * Cannot be used together with `include`.
     */
    exclude?: PublintCheckName[];
    /**
     * Check names to include (whitelist) in publint runs.
     * Only listed checks will run; all others are skipped.
     * Cannot be used together with `exclude`.
     */
    include?: PublintCheckName[];
    /**
     * Whether to run `pack` when invoking the publint library.
     * When true (default), the package manager is used to determine which
     * files would be published. Set to false to skip packing for faster runs.
     */
    pack?: boolean;
    /**
     * Rule levels keyed by publint rule id.
     * - `off` skips the check.
     * - `warn` reports findings as warnings.
     * - `error` reports findings as errors.
     */
    rules?: Partial<Record<PublintCheckName | PublintRuleId, RuleLevelConfig>>;
}
//# sourceMappingURL=PublintConfig.d.ts.map