export interface ContractParamEntry {
    name: string;
    kind: 'doc' | 'flag' | 'jsonFlag';
    type: 'string' | 'number' | 'boolean' | 'json' | 'string[]';
    flag?: string;
    required?: boolean;
    [key: string]: unknown;
}
export interface ContractOperationEntry {
    operationId: string;
    command: string;
    commandTokens: string[];
    params: ContractParamEntry[];
    constraints?: unknown;
    [key: string]: unknown;
}
export interface Contract {
    contractVersion: string;
    $defs?: Record<string, unknown>;
    cli: {
        package: string;
        minVersion: string;
    };
    protocol: {
        version: string;
        transport: string;
        features: string[];
        notifications: string[];
    };
    operations: Record<string, ContractOperationEntry>;
}
export declare const CONTRACT: Contract;
export type OperationEntry = Contract['operations'][keyof Contract['operations']];
//# sourceMappingURL=contract.d.ts.map