import * as Config from '@taqueria/protocol/Config';
import * as PersistentState from '@taqueria/protocol/PersistentState';
export interface Origination {
    contract: string;
    address: string;
    destination: string;
    time: number;
}
declare const _default: (projectAbspath: string, config: Config.t, state: PersistentState.t, selectedEnv?: string) => {
    getConfig: () => {
        language?: "en" | "fr" | undefined;
        plugins?: ({
            type: "npm" | "binary" | "deno";
            name: string;
        } & {
            readonly __kind: any;
        })[] | undefined;
        contracts?: Record<string, {
            sourceFile: string;
            hash: string & {
                readonly __kind: any;
            };
        }> | undefined;
        network?: Record<string, import("@taqueria/protocol/Base").Flatten<{
            accounts?: Record<string, any> | undefined;
            faucet?: import("@taqueria/protocol/Base").Flatten<{
                email?: string | undefined;
                password?: string | undefined;
                amount?: string | undefined;
                activation_code?: string | undefined;
                mnemonic: string[];
                pkh: string & {
                    readonly __kind: any;
                };
            } & {
                readonly __kind: any;
            }> | undefined;
            label: string & {
                readonly __kind: any;
            };
            rpcUrl: string & {
                readonly __kind: any;
            };
            protocol: string & {
                readonly __kind: any;
            };
        } & {
            readonly __kind: any;
        }>> | undefined;
        sandbox?: Record<string, {
            accounts?: Record<string, string | ({
                encryptedKey: string;
                publicKeyHash: string & {
                    readonly __kind: any;
                };
                secretKey: string;
            } & {
                readonly __kind: any;
            })> | undefined;
            attributes?: Record<string, string | number | boolean> | undefined;
            plugin?: (string & {
                readonly __kind: any;
            }) | undefined;
            tzkt?: {
                disableAutostartWithSandbox: boolean;
                postgresqlPort: number;
                apiPort: number;
            } | undefined;
            label: string & {
                readonly __kind: any;
            };
            rpcUrl: string & {
                readonly __kind: any;
            };
            protocol: string & {
                readonly __kind: any;
            };
        } & {
            readonly __kind: any;
        }> | undefined;
        environment?: Record<string, string | import("@taqueria/protocol/Base").Flatten<{
            storage?: Record<string, any> | undefined;
            aliases?: Record<string, any> | undefined;
            networks: string[];
            sandboxes: string[];
        } & {
            readonly __kind: any;
        }>> | undefined;
        metadata?: ({
            name?: string | undefined;
            projectDescription?: string | undefined;
            authors?: string[] | undefined;
            license?: string | undefined;
            homepage?: string | undefined;
        } & {
            readonly __kind: any;
        }) | undefined;
        accounts: Record<string, string | number>;
        contractsDir: string;
        artifactsDir: string;
    } & {
        readonly __kind: any;
    };
    getState: () => {
        operations: Record<string, {
            output?: unknown;
            hash: string & {
                readonly __kind: any;
            };
            time: number & {
                readonly __kind: any;
            };
        }>;
        tasks: Record<string, {
            output?: unknown;
            plugin: string;
            time: number & {
                readonly __kind: any;
            };
            task: string & {
                readonly __kind: any;
            };
        }>;
    } & {
        readonly __kind: any;
    };
    getProjectAbsPath: () => string;
    getOriginations: (contractName?: string) => Origination[];
};
export default _default;
