type CredsService = {
    projectId?: string;
    projectName?: string;
    projectPath?: string;
    projectCredsUrl?: string;
    token: string;
    server: string;
    force: boolean;
};
type CredsFile = {
    name: string;
    filename: string;
    credType?: string;
    content?: string;
    handler: (arg0: any) => Record<string, any>;
};
type CredsVariableType = 'env_var' | 'file';
type CredsVariableOptions = {
    type?: CredsVariableType;
    protected?: boolean;
    description?: string;
    masked?: boolean;
};
type CredsVariable = string | (CredsVariableOptions & {
    value: string;
});
type CredsConfig = {
    secrets?: Record<string, CredsVariable>;
    variables?: Record<string, CredsVariable>;
    files?: Array<CredsFile> | Record<string, CredsFile>;
    hooks?: Array<any>;
};
type GitlabCredsConfig = CredsConfig;
type GithubCredsConfig = CredsConfig;

export type { CredsConfig, CredsFile, CredsService, CredsVariable, CredsVariableOptions, CredsVariableType, GithubCredsConfig, GitlabCredsConfig };
